6
תגובות
היי, אני עובד עכשיו על חיפוש במוסד נתונים ואני רוצה שהוא יסדר את התוצאות לפי כמות ההתאמות שהוא מצא, כרגע זאת השאילתה שלי כמובן בתנאי שאני מחפש PHP guide:
SELECT * FROM list WHERE (description LIKE '%php %' OR description LIKE ' %php%' OR name LIKE ' %php%' OR name LIKE '%php %') OR (description LIKE '%guide %' OR description LIKE ' %guide%' OR name LIKE ' %guide%' OR name LIKE '%guide %') ORDER BY id DESC

6 תשובות

avatar ענה intval ב 14 למאי 2014 #

חיפוש טקסט מלא

avatar ענה yotamN ב 15 למאי 2014 #

@intval עכשיו היה לי הזמן לעשות את זה, ניסיתי ככה:

SELECT * FROM `list` WHERE MATCH(`description`) AGAINST('test')


ומשום מה זה לא עובד

avatar ענה yotamN ב 22 למאי 2014 #

היי, הבאת לי את המדריך אבל משום מה זה לא עובד לי, זה הקוד המלא:

<?php
  $mysqli = new mysqli('yncoinfo.ipagemysql.com', 'test', '1234', 'test');
  $query = $mysqli->query("SELECT * FROM list WHERE (description) AGAINST ('Test')");
  while ($r = $query->fetch_array()) {
    echo $r['name'];
  }

avatar ענה Splash ב 22 למאי 2014 #

חסר לך MATCH לפני השם של השדה,בנוסף לעתיד אני ממליץ לך במידה ומשהו לא עובד לך ,תנסה לפלוט את השגיאה שהוא נותן

avatar ענה yotamN ב 22 למאי 2014 #

@Splash קיבלתי את ההודעה:

Can't find FULLTEXT index matching the column list


מה זה אומר?

avatar ענה OrelBeY ב 22 למאי 2014 #

צריך קודם לבצע פעולה כדי לאפשר חיפוש טקסט מלא בשדה הזה:

ALTER TABLE list ADD FULLTEXT(description);

(או כמו במדריך, בממשק גרפי - phpMyAdmin)